package uy.com.antel.mdb;



import javax.ejb.ActivationConfigProperty;
import javax.ejb.EJB;
import javax.ejb.MessageDriven;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.TextMessage;

import uy.com.antel.dao.EditorialDAOLocal;
import uy.com.antel.dao.PublicacionDAOLocal;
import uy.com.antel.entity.Editorial;
import uy.com.antel.entity.Libro;



@MessageDriven(
		activationConfig = { 
@ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"),
@ActivationConfigProperty(propertyName = "destination",
propertyValue = "queue/j2ee_prueba_alta_publicacion") ,	
		})



public class ServerPublicacionesMDB implements MessageListener {

	 @EJB (mappedName="PublicacionDAO/local")
	    PublicacionDAOLocal publicacionDAO;
	 
	 @EJB (mappedName="EditorialDAO/local")
	    EditorialDAOLocal editorialDAO; 
    public ServerPublicacionesMDB() {
        // TODO Auto-generated constructor stub
    }

    public void onMessage(Message message) {
    	TextMessage textMessage = (TextMessage) message;
		try {
		 String cadena = textMessage.getText();
		 String[] palabra = cadena.split(" ");
		 	String nombreEditorial = palabra[0];
		 	String titulo =palabra[1];
		 	String ISBN=palabra[2];
			
	//		if (!(publicacionDAO.existPublicacion(ISBN)) ){
				
		   	Editorial edit = editorialDAO.findEditorial(nombreEditorial);
				   Libro libro = new Libro() ;
			       libro.setTitulo(titulo);
			       libro.setISBN(ISBN);
			       publicacionDAO.persistPublicacion(libro, edit);
				
			//	}
				//else {System.out.println("Ya existe una Libro con el nombre: " + textMessage.getText());}		
			
				
		
		} catch (JMSException e1) {
			e1.printStackTrace();
		}	
		
		
		
        
    }

}
